Conditions | 17 |
Paths | 17 |
Total Lines | 21 |
Code Lines | 19 |
Lines | 1 |
Ratio | 4.76 % |
Changes | 0 |
Complex classes like exports.toString often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
1 | /* |
||
6 | View Code Duplication | exports.toString = function (rcode) { |
|
|
|||
7 | switch (rcode) { |
||
8 | case 0: return 'NOERROR' |
||
9 | case 1: return 'FORMERR' |
||
10 | case 2: return 'SERVFAIL' |
||
11 | case 3: return 'NXDOMAIN' |
||
12 | case 4: return 'NOTIMP' |
||
13 | case 5: return 'REFUSED' |
||
14 | case 6: return 'YXDOMAIN' |
||
15 | case 7: return 'YXRRSET' |
||
16 | case 8: return 'NXRRSET' |
||
17 | case 9: return 'NOTAUTH' |
||
18 | case 10: return 'NOTZONE' |
||
19 | case 11: return 'RCODE_11' |
||
20 | case 12: return 'RCODE_12' |
||
21 | case 13: return 'RCODE_13' |
||
22 | case 14: return 'RCODE_14' |
||
23 | case 15: return 'RCODE_15' |
||
24 | } |
||
25 | return 'RCODE_' + rcode |
||
26 | } |
||
27 | |||
49 |